package com.feixiang.springbootinit.strategy;
import com.feixiang.springbootinit.model.entity.wechat.QwMessage;
import com.feixiang.springbootinit.model.enums.SessionArchiveMsgTypeEnum;
import com.feixiang.springbootinit.model.vo.wechat.MsgVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
@Slf4j
public class DefaultMessageStrategy implements MessageProcessingStrategy {

    @Override
    public boolean supports(SessionArchiveMsgTypeEnum msgType) {
        // 默认策略只处理真正未知的类型
        return msgType == SessionArchiveMsgTypeEnum.UNKNOWN || msgType == SessionArchiveMsgTypeEnum.VOIPTEXT;
    }
    @Override
    public void process(MsgVO msgVO, QwMessage baseMessage) {
        log.info("处理未知类型消息,消息id: {}, 类型: {}", msgVO.getMsgid(), msgVO.getMsgtype());
        //可以在这里记录日志或执行其他默认操作
    }

    @Override
    public void batchProcess(List<QwMessage> baseMessages) {
        log.info("批量处理未知类型消息, 数量: {}", baseMessages.size());
        //可以在这里记录日志或执行其他默认操作
    }
}